/*
 * 文件名：SelectOptionDto.java
 * 版权：Copyright 2018-2019 Love. Co. Ltd. All Rights Reserved.
 * 描述：Anthony.CHONG
 * 修改人：Anthony.CHONG
 * 修改时间：2020年03月23日
 * 系统名称：xiaole
 */
package com.sinbader.xiaole.common.model.xiaolevo;

import java.io.Serializable;

/**
 * <一句话功能简述>
 * <功能详细描述>
 *
 * @author CHONG
 * @version 1.0 2020年03月23日
 * @see SelectOptionDto
 * @since 1.0
 */
public class SelectOptionDto implements Serializable {

    /**
     *
     */
    private static final long serialVersionUID = 3501580850682459680L;

    /**
     * 值
     */
    private String id;

    /**
     * 文本
     */
    private String name;

    /**
     * 拼音简称
     */
    private String col;

    /**
     * 父元素ID
     */
    private String parentId;

    /**
     * 对象（需要特殊处理的数据，对应html5 data-object属性）
     */
    private Object object;

    /**
     * 获取 id
     *
     * @return id.
     */
    public String getId() {
        return id;
    }

    /**
     * 设置 id
     *
     * @param id id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取 name
     *
     * @return name.
     */
    public String getName() {
        return name;
    }

    /**
     * 设置 name
     *
     * @param name name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取 col
     *
     * @return col.
     */
    public String getCol() {
        return col;
    }

    /**
     * 设置 col
     *
     * @param col col
     */
    public void setCol(String col) {
        this.col = col;
    }

    /**
     * 获取 parentId
     *
     * @return parentId.
     */
    public String getParentId() {
        return parentId;
    }

    /**
     * 设置 parentId
     *
     * @param parentId parentId
     */
    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    /**
     * 获取 object
     *
     * @return object.
     */
    public Object getObject() {
        return object;
    }

    /**
     * 设置 object
     *
     * @param object object
     */
    public void setObject(Object object) {
        this.object = object;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((id == null) ? 0 : id.hashCode());
        result = prime * result + ((parentId == null) ? 0 : parentId.hashCode());
        result = prime * result + ((name == null) ? 0 : name.hashCode());
        return result;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        SelectOptionDto other = (SelectOptionDto) obj;
        if (id == null) {
            if (other.id != null) {
                return false;
            }
        } else if (!id.equals(other.id)) {
            return false;
        }
        if (parentId == null) {
            if (other.parentId != null) {
                return false;
            }
        } else if (!parentId.equals(other.parentId)) {
            return false;
        }
        if (name == null) {
            if (other.name != null) {
                return false;
            }
        } else if (!name.equals(other.name)) {
            return false;
        }
        return true;
    }


}